package com.core.service;

import com.core.domain.Roles;
import com.baomidou.mybatisplus.extension.service.IService;
import com.core.dto.RoleInfoDto;
import com.core.resp.AjaxResponse;
import com.core.resp.PageResult;
import com.core.vo.RolePermissionVo;
import com.core.vo.RoleVo;

import java.util.List;

/**
 * @author legion
 * @description 针对表【roles】的数据库操作Service
 * @createDate 2025-06-02 16:20:41
 */
public interface RolesService extends IService<Roles> {
    /**
     * 分页查询数据
     *
     * @param pageSize
     * @param pageNum
     * @param rolesService
     * @return
     */
    PageResult<RoleInfoDto> selectPage(Long pageSize, Long pageNum, RoleInfoDto rolesService);

    /**
     * 添加角色
     *
     * @param roleVo
     */
    AjaxResponse addRole(RoleVo roleVo);

    /**
     * 删除角色
     * @param ids
     * @return
     */
    AjaxResponse deleteRoles(List<Long> ids);

    /**
     * 修改角色
     * @param roleInfoDto
     */
    void updateRole(RoleInfoDto roleInfoDto);

    /**
     * 修改权限
     * @param rolePermissionVo
     */
    void updatePermission(RolePermissionVo rolePermissionVo);

    List<Roles> getAllRoles();
}
